Proyecto 2 (parte 1): Haciendo un tablero que cuente una historia.¶

Alumno: María Elena Martínez Manzanares

Profesor: Doctor Julio Waissman Vilanova

Curso: Ingeniería de Características

Programa educativo: Maestría en Ciencia de Datos de la Universidad de Sonora

Hermosillo, Sonora a 2 de noviembre del 2022

Solución

Es posible encontrar una descripción de los datos en esta liga y los EDAs automáticos en esta carpeta de GitHub.

Se presentarán en este cuaderno:

  • El objeto de nuestro análisis;
  • EDA que posiblemente nos pueda ayudar a resolver la pregunta de nuestro interés;
  • KPI diseñado con la metodología vista en clase;
  • Imagen que presenta el borrado del tablero que se pretende construir.

Pregunta que deseamos resolver:

Basados en históricos, ¿qué es lo que le ocurre a un inmigrante ilegal que no logra cruzar la frontera Sonora-Arizona?

Alt text

Se requiere estudiar si podemos realizar las siguientes gráficas.

  • Descripción general:
    • Una agregación de datos para el número de personas localizadas (sin importar si estan vivas o muertas).
    • Una gráfica de barras de personas vivas y muertas, separados por sexo.
  • De los muertos:
    • Una gráfica de barras de si fueron identificados.
    • Un histograma con las edades.
    • Una gráfica de barra de motivos de muerte.
    • Una gráfica de barra de tiempo de localización.
    • Histograma de año con más muertes.
    • Histograma de mes con más muertes.
  • De los vivos:
    • Histograma de la edad.
    • Gráfica de barras de sexo.
    • Gráfica de barras de nivel educativo.
    • Gráfica de barras de personas que duraron menos de 30 días que informe que dependencias las capturaron.
    • Servicios que más frecuentemente recibieron los capturados.

Descripción general.¶

Una agregación de datos para el número de personas localizadas (sin importar si estan vivas o muertas).¶

In [12]:
vivos_muertos.plot.bar()
Out[12]:
<AxesSubplot:>

Una gráfica de barras de personas vivas y muertas, separados por sexo.¶

In [16]:
sns.barplot(data=vivos_muertos, x="Sexo", y="loc_vivos")
Out[16]:
<AxesSubplot:xlabel='Sexo', ylabel='loc_vivos'>
In [17]:
sns.barplot(data=vivos_muertos, x="Sexo", y="loc_muertos")
Out[17]:
<AxesSubplot:xlabel='Sexo', ylabel='loc_muertos'>

De los muertos.¶

Una gráfica de barras de si fueron identificados.¶

In [22]:
identificados_muertos.plot.bar()
Out[22]:
<AxesSubplot:>

Un histograma con las edades.¶

In [39]:
sns.histplot(data=Arizona_16_21, x="Age")
Out[39]:
<AxesSubplot:xlabel='Age', ylabel='Count'>

Una gráfica de barra de motivos de muerte.¶

In [24]:
Arizona_16_21.groupby(["Cause of Death"]).count()["Name"].sort_values(ascending=False).plot.bar()
Out[24]:
<AxesSubplot:xlabel='Cause of Death'>
In [25]:
Arizona_16_21.groupby(["Body Condition"]).count()["Name"].sort_values(ascending=False).plot.bar()
Out[25]:
<AxesSubplot:xlabel='Body Condition'>

Una gráfica de barra de tiempo de localización.¶

In [26]:
Arizona_16_21.groupby("Post Mortem Interval").count()["Name"].sort_values(ascending=False).plot.bar()
Out[26]:
<AxesSubplot:xlabel='Post Mortem Interval'>

Histograma de año con más muertes.¶

In [27]:
Arizona_16_21.groupby(Arizona_16_21["Reporting Date"].dt.year).count()["Name"].plot.bar()
Out[27]:
<AxesSubplot:xlabel='Reporting Date'>

Histograma de mes con más muertes.¶

In [28]:
Arizona_16_21.groupby(Arizona_16_21["Reporting Date"].dt.month).count()["Name"].plot.bar()
Out[28]:
<AxesSubplot:xlabel='Reporting Date'>

De los vivos¶

Histograma de la edad.¶

In [29]:
aux = SEGOB[SEGOB["PERM_EU_parsed"]=="De 0 a 30 días"]
sns.histplot(data=aux, x="EDA")
Out[29]:
<AxesSubplot:xlabel='EDA', ylabel='Count'>

Gráfica de barras de sexo.¶

In [30]:
(SEGOB[SEGOB["PERM_EU_parsed"]=="De 0 a 30 días"]
              .groupby(["SEXO_parsed"])
              .count()["DEL"]
              .plot.bar())
Out[30]:
<AxesSubplot:xlabel='SEXO_parsed'>

Gráfica de barras de nivel educativo.¶

In [31]:
(SEGOB[SEGOB["PERM_EU_parsed"]=="De 0 a 30 días"]
              .groupby(["NIV_ESC_parsed"])
              .count()["DEL"]
              .plot.bar())
Out[31]:
<AxesSubplot:xlabel='NIV_ESC_parsed'>

Gráfica de barras de personas que duraron menos de 30 días que informe que dependencias las capturaron.¶

In [32]:
(SEGOB[SEGOB["PERM_EU_parsed"]=="De 0 a 30 días"]
              .groupby(["AUT_DEP_parsed"])
              .count()["DEL"]
              .plot.bar())
Out[32]:
<AxesSubplot:xlabel='AUT_DEP_parsed'>

Servicios que más frecuentemente recibieron los capturados.¶

In [34]:
(SEGOB[SEGOB["PERM_EU_parsed"]=="De 0 a 30 días"][["CAN_AL","CAN_COM","CAN_STRA",
                                                   "CAN_SEGPOP","CAN_OFAM","AGUA_AL",
                                                   "DESC_BUS","APO_LLAM","APO_MAT",
                                                   "APO_VES","APO_ASF","APO_AME",
                                                   "APO_REC_PERT"]].sum()
                                                   .sort_values(ascending=False)
                                                   .plot.bar())

plt.axhline(y=SEGOB[SEGOB["PERM_EU_parsed"]=="De 0 a 30 días"].shape[0], color='r', linestyle='--')
plt.show()

Diseño de KPI¶

Se propone un KPI que permita identificar a lo largo de los meses la cantidad de migrantes localizados vivos y localizados muertos, con el objetivo de detectar si la cantidad de localizados muertos es mayor o igual a los localizados vivos.

El análisis del KPI puede ser encontrado en la siguiente liga.

In [38]:
fig = px.line(localizados_ts, x="Fecha", y=localizados_ts.columns,
              labels={
                     "loc_vivos": "Localizados vivos",
                     "loc_muertos": "Localizados muertos",
                      "value":"Cantidad"},
              hover_data={"Fecha": "|%B, %Y"},
              title='Inmigrantes localizados vivos vs localizados muertos por mes'
              )
fig.update_layout(legend_title="Variable")
fig.show()

Diseño del tablero¶

Se presenta a continuación el diseño del tablero elaborado en draw.io.

El tablero consistirá de tres secciones, en una sola página larga dividida o tres páginas diferentes, en donde se tenga la siguiente información.

  • Overview:
    • KPI
    • Numeralia de totales para el número de total personas localizadas, total muertas, total vivas.
    • Una gráfica de barras de personas vivas y muertas, separados por sexo.
  • De los muertos:
    • Una gráfica de barras de si fueron identificados.
    • Un histograma con las edades.
    • Una gráfica de barra de motivos de muerte.
    • Una gráfica de barra de tiempo de localización.
    • Histograma de año con más muertes.
    • Histograma de mes con más muertes.
  • De los vivos:
    • Histograma de la edad.
    • Gráfica de barras de sexo.
    • Gráfica de barras de nivel educativo.
    • Gráfica de barras de personas que duraron menos de 30 días que informe que dependencias las capturaron.
    • Servicios que más frecuentemente recibieron los capturados.

Página 1¶

Alt text

Página 2¶

Alt text

Página 3¶

Alt text